package com.e3.basdoc.region.service;

import java.util.List;

import com.e3.basdoc.region.model.RegionModel;
import com.e3.basdoc.region.model.RegionQC;
import com.e3.core.base.ServiceException;

public interface RegionQueryService {

	// 根据code获取RegionModel
	RegionModel getRegionModelByCode(String code) throws ServiceException;

	// 根据id获取RegionModel
	RegionModel getRegionModelById(long id) throws ServiceException;

	// 根据code列表获取RegionModel
	List<RegionModel> getRegionModelByCodes(String... codes) throws ServiceException;

	// 根据id列表获取RegionModel
	List<RegionModel> getRegionModelByIds(Long... ids) throws ServiceException;

	// 根据查询条件regionQC获取List<RegionModel>
	List<RegionModel> getRegionByCondition(RegionQC regionQC) throws ServiceException;

	// 获取参数regionModel的子regionModel
	List<RegionModel> getRegionChildren(RegionModel regionModel) throws ServiceException;

	List<RegionModel> getAllRegions() throws ServiceException;

	long getRegionChildrenSize(RegionModel regionModel) throws ServiceException;
	
	List<RegionModel> getPagingRegionModels(RegionQC qc,int start,int max) throws ServiceException;
	
	long getRegionSizeByCondition(RegionQC qc) throws ServiceException;

}
